package com.atguigu.gulimall.order.domain.vo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description
 * @Author lhj
 * @Date 2024/5/26 21:43
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AliPayNotifyResponse implements Serializable {

    private static final long serialVersionUID = 7727194087978757546L;

    /**
     * 交易创建时间。格式为 yyyy-MM-dd HH:mm:ss
     */
    private Date gmtCreate;
    /**
     * 编码格式。如 utf-8、gbk、gb312等。
     */
    private String charset;
    /**
     * 交易付款时间。格式为 yyyy-MM-dd HH:mm:ss
     */
    private Date gmtPayment;
    /**
     * 通知的发送时间。格式为 yyyy-MM-dd HH:mm:ss
     */
    private Date notifyTime;
    /**
     * 订单标题/商品标题/交易标题/订单关键字等，是请求时对应参数，会在通知中原样传回
     */
    private String subject;
    /**
     * 支付宝签名。详见签名方法
     * https://opendocs.alipay.com/open/270/105902#%E5%BC%82%E6%AD%A5%E8%BF%94%E5%9B%9E%E7%BB%93%E6%9E%9C%E7%9A%84%E9%AA%8C%E7%AD%BE
     */
    private String sign;
    /**
     * 买家支付宝账号对应的支付宝唯一用户号。以2088开头的纯16位数字
     */
    private String buyerId;
    private double invoiceAmount;
    /**
     * 调用的接口版本。固定为1.0
     */
    private String version;
    /**
     * 通知校验ID。
     */
    private String notifyId;
    /**
     * 通知类型。 trade_status_sync：同步通知
     */
    private String notifyType;
    /**
     * 商家订单号。原支付请求的商家订单号。
     */
    private String outTradeNo;
    /**
     * 订单金额。本次交易支付订单金额，单位为人民币（元），精确到小数点后 2 位
     */
    private BigDecimal totalAmount;
    /**
     * 交易状态。交易目前所处状态，详情可查看下表 交易状态说明
     */
    private String tradeStatus;
    /**
     * 支付宝交易号，支付宝交易凭证号。
     */
    private String tradeNo;
    /**
     * 授权方的APPID。由于本接口暂不开放第三方应用授权，因此 auth_app_id=app_id
     */
    private String authAppId;
    /**
     * 实收金额。商家在交易中实际收到的款项，单位为人民币（元），精确到小数点后 2 位
     */
    private BigDecimal receiptAmount;
    /**
     * 使用集分宝支付金额，单位为人民币（元），精确到小数点后 2 位
     */
    private BigDecimal pointAmount;
    /**
     * 用户在交易中支付的金额，单位为人民币（元），精确到小数点后 2 位
     */
    private BigDecimal buyerPayAmount;
    /**
     * 支付宝应用的APPID。支付宝分配给开发者的应用 ID。
     */
    private String appId;
    /**
     * 签名类型。签名算法类型，目前支持RSA2和RSA，推荐使用 RSA2
     */
    private String signType;
    /**
     * 卖家支付宝账号 ID。以 2088 开头的纯 16 位数字
     */
    private String sellerId;
    
    
    
}
